Algebraic Denotational Semantics Using Parameterized Abstract Modules 1
نویسندگان
چکیده
O B J L O C / I N T S O R T S [/ OC O K O P S ; I N T > L O C N E X T ~ I/ )C > L O C V A R S i ~ I N T O K E Q N S ( N E X T ~ = I + I ) J B O I M ( A R R A Y = > S T O R E ) / L O C IT E M B O O L S O R T S ( A R R A y = > S T O R E ) { E L E M E N T = > I T E M ) { I N D E X = > L O C ) O P S ( N I L A R R A Y : -> A R R A Y = > N I L S T O R E ) M I I M ( P A I R = > S T A T E ) / S T O R E I / O T A P E S B O O L S O R T S { P A I R = > S T A T E ) ( L E F T = > S T O R E ) ( R I G I I T = > I / O T A P E S ) O P S ( L E F T ~ P A I R > L E F T ~ > M E M E R Y O F ) { R [ G I I T ; P A I R > R IG H T = > T A P E O F ~ ) M I O B J M A K E S T A T E / S T A T E O K O P S P U T ; I~ gC I T E M S T A T E ) S T A T E [ ] ~ S T A T E I~ 3C > I T E M I N : L O C S T A T E -> B O O L N I L S T A T E ~ > S T A T E V A R S I T E M ~ ] T } ~ S T O R E ; S T O R E L ~ I~ OC T A P E : I / O T A P E S O K E Q N S ( P U T ( L , I T E M , < S T O R E ; T A P E > ) = < P U T ( L , I T E M , S T O R E ) ; T A P E > ) ( < S T O R E ; T A P E > [ L ] = S T O R E [ h ] ) ( L I N < S T O R E ~ ' r A P E > = L I N S T O R E ) J B O O B J I / o / M A K E S T A T E O K O P S N E X T I N P U T : S T A T E > I T E M N E X T O U T P U T : I T E M S T A T E > S T A T E I N I T I A L S T A T E : T A P E > S T A T E S E T I N P U T z S T A T E > S T A T E V A R S S T O R E : S T O R E I N T A P E O U T T A P E : T A P E S T A T E : S T A T E I T E M : I T E M O K E Q N S ( N E X T I N P U T ( < S T O R E ; < I N T A P E ; O U T T A P E > ) ) = F I R S T ( I N T A P E ) ) ( N E X T O U T P U T ( I T E M , < S T O R E ; < I N T A P E ; O U T T A P E > > ) = < S T O R E ; < I N T A P E ; ( O U T T A P E ~ T E M ) > > ) ( I N I T I A L S T A T E ( I N T A P E ) = < N I L S T O R E ; < I N T A P E ; N I L > > ) ( S E T I N P U T ( < S T O R E ; < I N T A P E ; o ~ r T A P E > > ) = < S T O R E ; < R E S T ( I N T A P E ) ; O U T T A P E > > ) J B O O B J A L L O C A T I O N / I / O O K O P S A L l £ ) C A T E : S T A T E > L O C I N I T I A L I Z E : T Y P E S T A T E > S T A T E I N I T I A L I Z E = I T E M S T A T E > S T A T E F I N D N E X T : L O C S T A T E > L O C U N D E F I N E D : > I T E M U N D E F I N E D : > V A L U E V A R S T Y P E : T Y P E S T A T E : S T A T E I T E M : I T E M If )C : L O C O K E Q N S ( A L L O C A T E ( S T A T E ) = F I N D N E X T ( ] , S T A T E ) ) ( F I N D N E X T ( L O C , S T A T E ) = I F N O T L O C I N S T A T E T H E N L O C E L S E F I N D N E X T ( ( N E X T L O C ) , S T A T E ) F I ) ( I N I T I A L I Z E ( T Y P E , S T A T E ) = P U T ( A L L O C A T E ( S T A T E ) , < T Y P E : U N D E F I N E D ) , S T A T E ) ) ( I N I T I A L I Z E ( I T E M , S T A T E ) = P U T ( A L L O C A T E ( S T A T E ) , I T E M , S T A T E ) ) o
منابع مشابه
Blended Algebraic and Denotational Semantics for ADT Languages with Mutable Objects
This paper presents a semantics for a simple language that is a blend of algebraic models and traditional denotational semantics. In this semantics, implementations of user-de ned abstract data types are \compiled" into an algebraic structure, which is used by the denotational part of the semantics whenever an operation of the data type is invoked. To show the utility of such a semantics, an al...
متن کاملTowards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part I: Denotational Semantics, Natural Semantics, and Abstract Machines
We derive two big-step abstract machines, a natural semantics, and the valuation function of a denotational semantics based on the small-step abstract machine for Core Scheme presented by Clinger at PLDI’98. Starting from a functional implementation of this small-step abstract machine, (1) we fuse its transition function with its driver loop, obtaining the functional implementation of a big-ste...
متن کاملOn the Algebra of the Structured Specifications
We develop module algebra for structured specifications with model oriented denotations. Our work extends the existing theory with specification building operators for non-protecting importation modes and with new algebraic rules (most notably for initial semantics) and upgrades the pushout-style semantics of parameterized modules to capture the (possible) sharing between the body of the parame...
متن کاملA Denotational Model for Probabilistic and Nondeterministic Processes
In this paper we present an algebraic model for the description of probabilistic and nondeterministic processes: PNAL (Probabilistic and Nondeterministic Algebraic Language), an extension of EPL, dee-ned by Matthew Hennessy, including a probabilistic choice operator. An operational semantics and a testing semantics for the language are presented. A denotational semantics for the nite subset of ...
متن کاملIncreasing Modularity and Language-Independency in Automatically Generated Compilers
The work reported here is based on ideas from (modular) algebraic specifications of abstract data types [3 1,2,6,23], abstract semantic algebras [25,26], and compiler descriptions based on attribute grammars [22]. Many papers have utilized ideas of abstract data type theory to improve the structure of semantics definitions and/or compiler descriptions. In [4], following [lo] and [24], the funda...
متن کاملTowards a denotational semantics for ET-LOTOS
The formal speciication language LOTOS is an international standard for use in Open Systems Interconnection. A timed extension called ET-LOTOS has been proposed. This paper presents a fully-abstract denotational semantics for the process algebraic component of this extension. The beneets of a denotational semantics are discussed, as are the applications.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005